#ifndef EYERWANDARTIST_EWAUITRACKHEADER_HPP
#define EYERWANDARTIST_EWAUITRACKHEADER_HPP

#include <vector>

#include "EWAUIWidget/EWAUIWidgetHeader.hpp"
#include "EWAUITimelineContext.hpp"
#include "EWAUITrackHeaderItem.hpp"
#include "EWAPrjFragmentUI.hpp"
#include "EWAPrjTrackUI.hpp"

namespace Eyer
{
    class EWAUITrackHeader : public EWAUIWidget, public EWAPrjTimelineListener
    {
    public:
        EWAUITrackHeader(EyerSmartPtr<EWAUITimelineContext> _timelineCtx, EWAUILayoutParams width, EWAUILayoutParams height);
        virtual ~EWAUITrackHeader();

        int SetTrackHeaderWidth(int trackHeaderWidth);

        virtual int OnDraw() override;

        virtual bool OnMousePressEvent     (const Vec2I & pos) override;
        virtual bool OnMouseReleaseEvent   (const Vec2I & pos) override;
        virtual bool OnMouseMoveEvent      (const Vec2I & pos) override;

        virtual int OnTrackUpdate(EWAPrjTimeline * timeline) override;

    protected:
        EyerSmartPtr<EWAUITimelineContext> timelineCtx;

    public:
    };
}

#endif //EYERWANDARTIST_EWAUITRACKHEADER_HPP
